Skip to content

reintegrate_ufs#589

Closed
aliabdolali wants to merge 33 commits into
NOAA-EMC:developfrom
aliabdolali:fb_ufs_Jan24
Closed

reintegrate_ufs#589
aliabdolali wants to merge 33 commits into
NOAA-EMC:developfrom
aliabdolali:fb_ufs_Jan24

Conversation

@aliabdolali
Copy link
Copy Markdown
Contributor

Pull Request Summary

  • Retrieves mask_value_water and mask_value_land if present in nems.configure and med_present is true.
  • SetVM public which is required to enable ESMF managed threading.

Description

Currently, when used in UWM, wmesmf sets the import and export mask values for the grid from the default values.

! --- Default Mask Convention for import/export fields
      INTEGER, PARAMETER :: DEFAULT_MASK_WATER =  0
      INTEGER, PARAMETER :: DEFAULT_MASK_LAND  =  1

These values are opposite the normal interpretation and CMEPS is then forced to set the dstMaskValue and srcMaskValues used for RH creation opposite to their normal sense. In med_map_mod, the currently used values in CMEPS for HAFS are (n1 is the source side and n2 is the destination side)

       elseif (n1 == compatm .and. n2 == compwav) then
          dstMaskValue = 1
       elseif (n1 == compwav .and. n2 == compatm) then
          srcMaskValue = 1
          dstMaskValue = ispval_mask
       endif

Both the dstMaskValue when the destination is compwav and the srcMaskValue when compwav is the source are reversed. That is, the dstMaskValue should indicate where the wave grid is masked when it is the destination. It should be 0 (ie, don't interpolate to the land points). The srcMaskValue should indicate what points to ignore when wave is the source. It should be 0 (ie, don't interpolate from land points on the wave grid).

When HAFS is switched to the new cap, the mask values will be set with the correct interpretation for CMEPS. A PR for CMEPS # 266 is the first step in implementing the new wave cap in UWM. In order for the existing cap to continue to work for HAFS, it is required to allow non-default mask values to be set from nems.configure:

  mask_value_water = 1
  mask_value_land = 0

These will be consistent with the dstMaskValue and srcMaskValue used by CMEPS.

These configuration variables will not be added to the HAFS nems.configure in UWM until CMEPS is also updated.

fixes ufs-community/ufs-weather-model#824

authors: @DeniseWorthen @junwang-noaa

Commit Message

  • Retrieve mask_value_water and mask_value_land if present in nems.configure and med_present is true.
  • Make the SetVM public

Check list

Testing

  • How were these changes tested? run regtests
  • Are the changes covered by regression tests? (If not, why? Do new tests need to be added?) NA
  • Have the matrix regression tests been run (if yes, please note HPC and compiler)? Yes, On Hera using intel compiler
  • Please provide the summary output of matrix.comp (matrix.Diff.txt, matrixCompFull.txt and matrixCompSummary.txt):
  • Please indicate the expected changes in the regression test output (Note the known list of non-identical tests).
  • Please provide the summary output of matrix.comp (matrix.Diff.txt, matrixCompFull.txt and matrixCompSummary.txt):

matrixCompFull.txt
matrixCompSummary.txt
matrixDiff.txt

**********************************************************************
********************* non-identical cases ****************************
**********************************************************************
mww3_test_03/./work_PR2_UQ_MPI_d2                     (8 files differ)
mww3_test_03/./work_PR2_UNO_MPI_d2                     (6 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2_c                     (8 files differ)
mww3_test_03/./work_PR1_MPI_d2                     (11 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2_c                     (8 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2                     (8 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2                     (8 files differ)
ww3_tp2.10/./work_MPI_OMPH                     (7 files differ)
ww3_tp2.16/./work_MPI_OMPH                     (5 files differ)
ww3_ufs1.1/./work_d                     (0 files differ)
ww3_ufs1.2/./work_b                     (0 files differ)
ww3_ufs1.3/./work_a                     (1 files differ)


UKMO-lsampson and others added 30 commits July 22, 2020 11:44
to ensure they comply with the limits of the nameslist.
Changes to add support to 360-day and 365-day (no leap year) calendar - see ticket #209
  * Additional CALTYPE namelist parameter in MISC section
  * New ww3_tc1 regtest.
* Updated ww3_bound and ww3_bounc to handle model grids formulated on a rotated pole.
* Manual and nml/inp files to updated clarify that ww3_bound/ww3_bounc only accept input spectra formulated on a standard pole grid.
Updates to allow a coupling time step that is different from the model time step. 
* Includes new regtest (in ww3_tp2.14) for non-default oasis time step.
* ww3_tp2.14 regtest added to matrix.base.
@JessicaMeixner-NOAA
Copy link
Copy Markdown
Collaborator

@aliabdolali can you please re-create this from a clean branch (without the multiple "
Merge branch 'NOAA-EMC:develop' into develop") commits so we can do a non-squash merge and cleanly reintegrate the two commits.

Copy link
Copy Markdown
Collaborator

@JessicaMeixner-NOAA JessicaMeixner-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please re-create this branch with a cleaner commit history so a non-squash merge can be used.

kestonsmith-noaa pushed a commit to kestonsmith-noaa/WW3 that referenced this pull request Jun 17, 2025
NOAA-EMC#589)

* Introduction of CA domain definition
* Read/Write and restart capability of CA
* Change namelist control parameter so that CA time and space scales are adjusted for various resolutions given the same CA namelist input
* Significant cleaning of old ideas
* Improved coupling to cumulus convection to be committed in coordination with this issue: NCAR/ccpp-physics#657
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement ESMF-managed threading for all coupled components

5 participants